package com.jingbian.cppccbackend.entity.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jingbian.cppccbackend.entity.FileInfo;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

@Data
@NoArgsConstructor
public class PublicOpinionDetailVO {
    // 基本信息
    private Integer opinionId;
    private Integer userId;
    private String proposer;
    private String caseReason;
    private String opinionContent;
    private String proposerRegion;
    private String opinionType;
    private Boolean isPublic;
    private String finalDisposition;
    private String status;
    private String topic;
    private String organizerWill;

    // 时间相关
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime submitTime;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime firstAuditTime;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime recheckTime;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime shuntTime;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime specialHandlingTime;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime finalReplyTime;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime completionTime;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime isOrTime;

    // 状态标识
    private Boolean isSign;
    private Boolean isFrist;
    private Boolean isRecheck;
    private Boolean isShunt;
    private Boolean isHanding;
    private Boolean isFinal;
    private Boolean isOr;

    // 处理信息
    private String department;
    private String handingResult;

    // 联名人姓名列表
    private List<String> signersName;

    // 附件信息
    private List<FileInfo> attachments;
}
